#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct student
{
	char name[10];
	float c;
	float math;	
}stu[100];
void bubblesort(struct student stu[],int n)
{
	int i,j;
	for(i=0;i<n-1;i++)
		for(j=0;j<n-i-1;j++)
		{
			float sum_1=stu[j].math+stu[j].c;
			float sum_2=stu[j+1].math+stu[j+1].c;
			if(sum_1<sum_2)
			{
				struct student temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;
			}
		}
}
int main()
{
	int n,i;
	//第一部分 录入 
	printf("有多少个学生？\n");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		printf("\n输入姓名：");	
		getchar();
		fgets(stu[i].name,sizeof(stu[i].name),stdin);
		stu[i].name[strcspn(stu[i].name, "\n")] = 0;//用于消除换行符，把换行符替换成了结束符 
		printf("\n输入C语言成绩：");
		scanf ("%f",&stu[i].c);
		printf("\n输入数学成绩：");	
		scanf ("%f",&stu[i].math);
	}
	//第二部分 排序（冒泡） 
	bubblesort(stu,n);
	system("cls||scr"); 
	printf("\n降序后的成绩单\n名字\tC语言\t数学\t总分\n");
	for(i=0;i<n;i++)
	{
		printf("%s\t%.2f\t%.2f\t%.2f\n",stu[i].name,stu[i].c,stu[i].math,stu[i].c+stu[i].math);
	}
	//printf("%f",stu[1].math);调试用 
	return 0;
}